Searching Digital Receipts at a Mobile Device

ABSTRACT

The present invention extends to methods, systems, and computer program products for searching digital receipts at a mobile device. A customer mobile device receives and stores one or more digital receipts. The one or more digital receipts correspond to transactions conducted with a merchant. A user can select search criteria for searching stored digital receipts. The search criteria can be applied to stored digital receipts. Any stored digital receipts that satisfy the search criteria can be returned for display. In some embodiments, search criteria are selected to search for digital receipts associated with a specified payment method, such as, for example, cash, check, credit card, debit card, gift card, etc. In other embodiments, search criteria are selected to search for digital receipts having a purchase date within a specified purchase date range.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation U.S. application Ser. No. 13/633,761,filed Oct. 2, 2012. That application is incorporated herein by referencefor all purposes.

BACKGROUND

1. Field of the Invention

This invention relates generally to the field of electronic salestransactions, and, more particularly, to searching digital receipts at amobile device.

2. Related Art

In a variety of transactions, consumers or buyers of goods or servicestypically receive receipts from their respective merchants or serviceproviders as proof of existence of conducted transactions. Generally,receipts are issued by merchants and service providers for a number ofreasons including, for example, regulatory or tax reasons andconvenience purposes. A receipt provides information about acorresponding transaction for the purpose of providing all participantswith a trace or record of the transaction. Receipts can later be used bya consumer for various purposes including, for example, provingparticipation in a transaction for tax reporting purpose, productreturns, use as a claim ticket for a further transaction, provisioningwarranties, etc. Depending on a variety of factors, such as, forexample, items being purchased, business or personal purchase, amount ofpurchase, etc., a consumer may desire an electronic receipt and/or apaper receipt.

For in-store purchases, consumers generally obtain a paper receipt atthe point-of-sale. However, some point-of-sale systems also support thedelivery of digital receipts at the point-of-sale. Further, fortelephone or online purchases digital receipts are typically deliveredto a customer.

However, receipt delivery mechanisms are somewhat rigid and may notallow a user to configure desired receipt types (e.g., digital and/orpaper) for use at checkout. For example, a conventional point-of-sale(“POS”) system typically includes a POS terminal, one or more peripheraldevices (display monitor, receipt printer, barcode scanner, weigh scale,electronic signature pad) and a payment processor with pin pad (forcredit and debit cards). The data for sales transactions is usuallystored in a storage device of the POS terminal, which may be uploaded toone of the remote transaction authorization server or another remoteserver of the credit/debit card companies. Although POS systems are wellequipped for merchants to monitor and collect transaction data from thePOS system, the ability of the customer to input or extract usefulinformation from the POS system is typically limited to pinpadinteractions (entering tip amounts, obtaining additional cash back,etc.), and obtaining printed receipts, the format and content of whichhas been pre-determined by the merchant.

Even when digital receipts are generated, the digital receipts may be ina pre-configured format that is neither adjustable not searchable. Forexample, digital receipts can be images of paper receipts that areprovided to a customer at the POS system. The digital receipts caninclude a store identifier, a receipt identifier, a date and time ofpurchase, and various receipt items having item identifiers and iteminformation. The receipt items are typically listed sequentially basedon their scan order (i.e., the order the cashier scanned the items).Since the digital receipt is an image file, a customer is limited withrespect to performing further operations based on the content of thedigital receipt. For example, a user may be limited simply to viewingthe digital receipt.

Some POS systems may be capable of generating digital receipts asseparate digital data. However, POS systems are typically sold with aproprietary on-board software system that may be specific to themerchant's business. The merchant is able to make minor programmingadjustments to add discount codes and other special offers, but haslimited ability to add functionality to the POS system. Thus, even ifdigital receipts are provided as separate digital data, a customertypically has limited, if any, ability to change how digital receiptdata is viewed.

BRIEF DESCRIPTION OF THE DRAWINGS

The specific features, aspects and advantages of the present inventionwill become better understood with regard to the following descriptionand accompanying drawings where:

FIG. 1 illustrates an example block diagram of a computing device.

FIG. 2 illustrates an example computer architecture that facilitatessearching digital receipts at a mobile device.

FIG. 3 illustrates a flow chart of an example method for searchingdigital receipts at a mobile device.

FIG. 4 illustrates an example computer architecture that facilitatessearching digital receipts at a mobile device.

FIG. 5 illustrates a flow chart of an example method for searchingdigital receipt at a mobile device.

FIG. 6 illustrates an example schematic block diagram of a point-of-sale(“POS”) system that creates receipts for mobile devices.

FIG. 7 illustrates an example schematic block diagram of a network ofpoint-of-sale (“POS”) systems that creates receipts for mobile devices.

DETAILED DESCRIPTION

The present invention extends to methods, systems, and computer programproducts for searching digital receipts at a mobile device. In thefollowing description of the present invention, reference is made to theaccompanying drawings, which form a part hereof, and in which is shownby way of illustration specific embodiments in which the invention ismay be practiced. It is understood that other embodiments may beutilized and structural changes may be made without departing from thescope of the present invention.

Embodiments of the present invention may comprise or utilize a specialpurpose or general-purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentinvention also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. Such computer-readable media can be any available media thatcan be accessed by a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, embodiments of the invention can compriseat least two distinctly different kinds of computer-readable media:computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media to computerstorage media (devices) (or vice versa). For example,computer-executable instructions or data structures received over anetwork or data link can be buffered in RAM within a network interfacemodule (e.g., a “NIC”), and then eventually transferred to computersystem RAM and/or to less volatile computer storage media (devices) at acomputer system. RAM can also include solid state drives (SSDs or PCIxbased real time memory tiered Storage, such as FusionIO). Thus, itshould be understood that computer storage media (devices) can beincluded in computer system components that also (or even primarily)utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the invention may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, various storage devices, andthe like. The invention may also be practiced in distributed systemenvironments where local and remote computer systems, which are linked(either by hardwired data links, wireless data links, or by acombination of hardwired and wireless data links) through a network,both perform tasks. In a distributed system environment, program modulesmay be located in both local and remote memory storage devices.

Embodiments of the invention can also be implemented in cloud computingenvironments. In this description and the following claims, “cloudcomputing” is defined as a model for enabling ubiquitous, convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, servers, storage, applications, and services)that can be rapidly provisioned via virtualization and released withminimal management effort or service provider interaction, and thenscaled accordingly. A cloud model can be composed of variouscharacteristics (e.g., on-demand self-service, broad network access,resource pooling, rapid elasticity, measured service, etc.), servicemodels (e.g., Software as a Service (“SaaS”), Platform as a Service(“PaaS”), Infrastructure as a Service (“IaaS”), and deployment models(e.g., private cloud, community cloud, public cloud, hybrid cloud,etc.).

It is further noted that, where feasible, functions described herein canbe performed in one or more of: hardware, software, firmware, digitalcomponents, or analog components. For example, one or more applicationspecific integrated circuits (“ASICs”) can be programmed to carry outone or more of the systems and procedures described herein. Certainterms are used throughout the following description and Claims to referto particular system components. As one skilled in the art willappreciate, components may be referred to by different names. Thisdocument does not intend to distinguish between components that differin name, but not function.

In general, embodiments of the invention are directed to searchingdigital receipts at a mobile device. A customer mobile device receivesand stores one or more digital receipts. The one or more digitalreceipts correspond to transactions conducted with a merchant. A usercan select search criteria for searching stored digital receipts. Thesearch criteria can be applied to stored digital receipts. Any storeddigital receipts that satisfy the search criteria can be returned fordisplay.

In some embodiments, search criteria are selected to search for digitalreceipts associated with a specified payment method, such as, forexample, cash, check, credit card, debit card, gift card, etc. In otherembodiments, search criteria are selected to search for digital receiptshaving a purchase date within a specified purchase date range.

Accordingly, mobile device users can search for receipts as desired tomore efficiently perform specified tasks. For example, a user may wishto know how much was spent on groceries in the last month. As such, theuser can select search criteria to search for receipts within a daterange defining the last month. Alternately, the user may wish to know adollar amount charged to credit cards. As such, the user can selectsearch criteria to search for receipts where a credit card was used asthe payment method.

FIG. 1 illustrates an example block diagram of a computing device 100.Computing device 100 can be used to perform various procedures, such asthose discussed herein. Computing device 100 can function as a server, aclient, or any other computing entity. Computing device 100 can performvarious communication and data transfer functions as described hereinand can execute one or more application programs, such as theapplication programs described herein. Computing device 100 can be anyof a wide variety of computing devices, such as a mobile telephone orother mobile device, a desktop computer, a notebook computer, a servercomputer, a handheld computer, tablet computer and the like.

Computing device 100 includes one or more processor(s) 102, one or morememory device(s) 104, one or more interface(s) 106, one or more massstorage device(s) 108, one or more Input/Output (I/O) device(s) 110, anda display device 130 all of which are coupled to a bus 112. Processor(s)102 include one or more processors or controllers that executeinstructions stored in memory device(s) 104 and/or mass storagedevice(s) 108. Processor(s) 102 may also include various types ofcomputer-readable media, such as cache memory.

Memory device(s) 104 include various computer-readable media, such asvolatile memory (e.g., random access memory (“RAM”) 114) and/ornonvolatile memory (e.g., read-only memory (“ROM”) 116). Memorydevice(s) 104 may also include rewritable ROM, such as Flash memory.

Mass storage device(s) 108 include various computer readable media, suchas magnetic tapes, magnetic disks, optical disks, solid state memory(e.g., Flash memory), and so forth. As shown in FIG. 1, a particularmass storage device is a hard disk drive 124. Various drives may also beincluded in mass storage device(s) 108 to enable reading from and/orwriting to the various computer readable media. Mass storage device(s)108 include removable media 126 and/or non-removable media.

I/O device(s) 110 include various devices that allow data and/or otherinformation to be input to or retrieved from computing device 100.Example I/O device(s) 110 include cursor control devices, keyboards,keypads, microphones, monitors or other display devices, speakers,printers, network interface cards, modems, cameras, lenses, CCDs orother image capture devices, and the like.

Display device 130 includes any type of device capable of displayinginformation to one or more users of computing device 100. Examples ofdisplay device 130 include a monitor, display terminal, video projectiondevice, and the like.

Interface(s) 106 include various interfaces that allow computing device100 to interact with other systems, devices, or computing environments.Example interface(s) 106 can include any number of different networkinterfaces 120, such as interfaces to personal area networks (“PANs”),local area networks (“LANs”), wide area networks (“WANs”), wirelessnetworks (e.g., near field communication (“NFC”), Bluetooth, Wi-Fi, etc.networks), and the Internet. Other interfaces include user interface 118and peripheral device interface 122.

Bus 112 allows processor(s) 102, memory device(s) 104, interface(s) 106,mass storage device(s) 108, and I/O device(s) 110 to communicate withone another, as well as other devices or components coupled to bus 112.Bus 112 represents one or more of several types of bus structures, suchas a system bus, PCI bus, IEEE 1394 bus, USB bus, and so forth.

FIG. 2 illustrates an example computer architecture 200 that facilitatessearching digital receipts at a mobile device. Referring to FIG. 2,computer architecture 200 includes mobile device 201, POS systems 211,and receipt database server 221. Each of the depicted components can beconnected to one another over (or be part of) a network 251, such as,for example, a PAN, a LAN, a WAN, and even the Internet. Accordingly,each of the depicted components as well as any other connected computersystems and their components, can create message related data andexchange message related data (e.g., near field communication (“NFC”)payloads, Bluetooth packets, Internet Protocol (“IP”) datagrams andother higher layer protocols that utilize IP datagrams, such as,Transmission Control Protocol (“TCP”), Hypertext Transfer Protocol(“HTTP”), Simple Mail Transfer Protocol (“SMTP”), etc.) over thenetwork.

POS system 211 includes transaction processor 212, communication module213, and I/O peripherals 216. POS system 211 can be physically locatedat a checkout lane in a store. Generally, transaction processor 212 isconfigured to manage sales transactions for POS 211. Transactionprocessor 212 can receive input from I/O peripherals 216 to open a salestransaction, collect receipt data (e.g., date, time, item, number ofunits, cost data, tax, department, payment method, etc.) for a salestransaction, and close a sales transaction. Receipt data for an item(e.g. item description, item cost, department, etc.) can be retrievedfrom an item database in response to scanning a barcode on (or otherwiseidentifying) the item. Other receipt data for an item (e.g., number ofunits, tax, payment method, etc.) can be determined by transactionprocessor 212. Payment method can include any of: cash, check, debitcard, credit card, gift card, etc. I/O peripherals 216 can include oneor more of: a monitor (e.g., a cashier-facing monitor), one or moreinput devices (e.g., scanners, keyboards, scales, or the like), one ormore payment devices (e.g., cash drawers, card readers, etc.) forreceiving or returning payments, and one or more output devices (e.g.,customer-facing display or monitor, receipt printer, etc.).

POS system 211 can associate an application ID with digital receiptdata, including payment method, for a transaction. The application IDcan be a unique value identifying a mobile device. An application ID canbe indicated to POS system 211, either manually by a customer or in anautomated fashion by a mobile device, at the time of a transaction.

Communication module 213 can be a wired and/or wireless network adapterfor connecting POS system 211 with a network, such as, for example, aWi-Fi and/or wired Ethernet network, that facilitates a furtherconnection to network 251 (e.g., the Internet).

POS system 211 can be at a physical store location along with additionalPOS systems including similar components. The physical store locationmay be owned by an entity, such as, for example, a retailer corporationthat runs a chain of stores. The chain of stores can include one or moreof: grocery stores, department stores, warehouse stores, discountstores, etc. In some embodiments, POS system 211 includes components ina checkout isle as well as components in a store based data center.Other POS systems, also including similar components, can be at otherphysical store locations owned by the entity.

Receipt data server 221 includes network (e.g., web) server 243,communication module 246, and database access module 267. Network server243 is configured to communicate with external devices, such as, forexample, mobile device 201. A common entity, such as, a retailercorporation, can own one or more physical store locations (e.g., a chainof stores) as well as receipt data server 221. Each of the one or morestore physical locations can include one or more POS systems as well asother computer systems (e.g., local backend servers). Communicationmodule 246 can be configured to communicate with POS systems as well asother computer systems at each of the one or more physical storelocations (e.g., on an internal corporate network) to facilitatebusiness operations for the entity.

Receipt data server 221 can receive application identifiers and digitalreceipt data, including payment methods, from POS systems at variousdifferent store locations, including POS system 211. Receipt data server221 can formulate digital receipts from received receipt data.Formulated digital receipts can include entries for items included incorresponding digital receipt data (but potentially in a differentformat, for example, a format deliverable to mobile devices). Formulateddigital receipts can also contain other data related to a transaction,such as, for example, the payment method used for the transaction.Database access module 267 can store digital receipts along withapplication identifiers in receipt database 222.

For example, receipt data server 221 can receive application ID 231along with digital receipt data 241 from POS system 211. Receipt dataserver 221 can formulate digital receipt 242 from digital receipt data241. Digital receipt 242 includes payment method 287 and receipt entriesfor items 244A, 244B, etc. Receipt items 244A, 244B, etc. correspond tophysical items purchased during a transaction at POS system 211. Digitalreceipt 242 can be stored along with application ID 231 to indicate thatdigital receipt 242 corresponds to mobile device 201.

In some embodiments, receipt data server 221 is part of a (e.g.,regional, national, or global) backend system that receives receipt datafrom a plurality of POS systems distributed throughout differentgeographic locations and formulates corresponding digital receipts. Theplurality of POS systems and the backend system can be part of acommonly owned and/or controlled corporate network infrastructure. Forexample, receipt data server 221 can formulate digital receipt 262 fromdigital receipt data received from another POS system. Digital receipt262 includes payment method 288 and receipt entries for items 264A,264B, etc. Receipt items 264A, 264B, etc. correspond to physical itemspurchased during a transaction at the other POS system. Digital receipt262 can be stored along with application ID 231 to indicate that digitalreceipt 262 also corresponds to mobile device 201.

Subsequent to storing digital receipts, receipt data server 221 can sendstored digital receipts to customer computing devices, such as, forexample, smartphones and/or tablets. Receipt data server 221 can senddigital receipts to a mobile device in response to a request and/or inaccordance with configured settings. For example, in response to arequest for receipts from mobile device 201, receipt data server 221 cansend digital receipts 242 and 262 to mobile device 201. Sending digitalreceipts from receipt data server 221 to a mobile device can involvepush or polled mechanisms. Receipt data server 221 can send digitalreceipts in a web or native view.

As depicted, mobile device 201 (e.g., a smartphone) communication module203, display 204, receipt management module 206, and receipt database217. In general, receipt management module 206 provides a user of mobiledevice 201 with various mechanisms for managing their digital receipts.Receipt management module 206 further includes search module 207. Searchmodule 207 is configured to search digital receipts as desired by a userof mobile device 201. Receipt management module 206 can also be used topair customer application ID 231 (e.g., derived from a loyalty number, atelephone number, a portion of a credit card number, etc.) with mobiledevice 201. As such, electronic receipts corresponding to application IDcan be delivered to mobile device 201.

Receipt management module 206 can present user-interface 219 at display204 (e.g., a general purpose display device). User-interface 206 caninclude (e.g., touch screen) user-interface controls allowing a user toselect search criteria. Selected search criteria can be used by searchmodule 207 to search digital receipts in receipt database 217. Forexample, customer 291 can enter input 292 to select search criteriarequesting that digital receipts having a specified payment method bepresented at user interface 219. Search module 207 can apply theselected search criteria to digital receipts in receipt database 217 toidentify receipts having the specified payment method.

Thus, a user request for desired receipts can be accomplished byselecting search criteria through user interface 291. The searchcriteria are sent to search module 207. Search module 207 applies thesearch criteria to receipts in receipt database 217. Receipts matchingthe search criteria can be accessed from receipt database 217 andpresented at user interface 219.

As depicted, arrangement module 207 includes criteria selection module218. Criteria selection module 218 can present user interface controlsto facilitate search criteria selection by a user. Criteria selectionmodule 218 can present any of a wide variety of different user interfacecontrols in different combinations, including, but not limited to: checkboxes, radio buttons, lists, drop down lists, combo boxes, text boxes,date pickers, option buttons, sliders, etc. Criteria selection module218 can receive search criteria selected through the presented userinterface controls.

In some embodiments, network server 243 includes a search module. Thesearch module can include a criteria selection module (similar tocriteria selection module 218). The search module can be a standalonemodule or can interoperate with search module 207 (e.g., in a hybridmanner) to search for receipts. The search module can include a webbased user interface. A user, for example, customer 291 can interactwith search module through the web based user interface. The arrangementmodule can provide a mobile web view of search results back to mobiledevice 201.

For example, customer 291 can select search criteria through a Web basedinterface provided by the search module. The search criteria can be sentto the search module via network communication. The search module cansearch for digital receipts in receipt database 222. The located digitalreceipts can be returned to mobile device 201 via network communicationfor presentation in a mobile web view.

Search criteria may be stored between searches. For example, customer291 can select search criteria 227. Search criteria 227 can be persistedin receipt management module 206. Search criteria 227 can be used tosearch for digital receipts to display at user interface 219, forexample, when receipt management module 206 is started up or when othersearch criteria have not been selected.

Receipt management module 206 can have receipt update functionality.From time to time, a user of mobile device 201 can use the receiptupdate functionality to request digital receipts from database server221. For example, customer 291 can utilize the receipt updatefunctionality to cause request 239 to be sent from to receipt databaseserver 221. Request 239 can be sent to receipt database server 221 byway of communication module 203, network 251 or other knowncommunication links. Request 239 includes application ID 231 and canalso include other information such as a date range for the receipts,store identifier or other information. Application ID 231 can be used atreceipt database server 221 to identify digital receipts correspondingto mobile device 201.

In response to request 239, database access module 267 can useapplication ID 231 to identify digital receipts 242 and 262 withinreceipt database 222. Database access module 267 can retrieve digitalreceipts 242 and 262 from receipt database 222. Receipt database serverreceipt database server 221 can return digital receipts 242 and 262 tomobile device 201. Digital receipts 242 and 262 can be sent to mobiledevice 201 by way of communication module 203, network 251 or otherknown communication links. Digital receipts 242 and 262 can be stored inreceipt database 217.

Communication module 203 can be a wireless network adapter forconnecting mobile device 201 with a wireless network, such as, forexample, Wi-Fi and/or a cellular network (e.g., CDMA, GSM, iDen, etc.)that facilitates a further connection to network 251 (e.g., theInternet)

FIG. 3 illustrates a flow chart 300 of an example method 300 forsearching digital receipts at a mobile device. Method will be describedwith respect to the components and data in computer architecture 200.

In general, method 300 can be used to search receipts at a mobiledevice. Receipts matching specified search criteria can be retrieved forpresentation at display 204, such as, the screen of a mobile phone ortablet. A user (customer) can view digital receipts presented at display204.

Mobile device 201 can send request 239, including application ID 231, toreceipt data server 221. Receipt data server 221 can match applicationID 231 to digital receipts 242 and 262. Receipt data server 221 canreturn digital receipts 242 and 262, including payment methods 287 and288 respectively, to mobile device 201. Mobile device 201 can storedigital receipts 242 and 262 along with other digital receipts, such as,for example, digital receipts 263, 266, etc., in receipt database 217.Each of the digital receipts in receipt database 217 can indicate apayment method used during a corresponding transaction.

Method 300 includes receiving a digital receipt search request, thedigital receipt search request for digital receipts corresponding to themobile device, the digital receipt search request including searchcriteria, the search criteria defining that digital receipts associatedwith a specified payment method satisfy the digital receipt searchrequest (301). For example, customer 291 can submit input 292 to requestsearching of receipt database 217. Input 292 can be received at userinterface 219. Within user interface 219, criteria selection module 218can present user interface controls for selecting search criteria.Criteria selection module 218 can present user interface controls formultiple different selectable search criteria, including payment method,that can be selected by a user. As described, criteria selection module218 can present any of a wide variety of different user interfacecontrols in different combinations, including, but not limited to: checkboxes, radio buttons, lists, drop down lists, combo boxes, text boxes,date pickers, option buttons, sliders, etc.

As such, customer 291, through input 292, can select search criteria227, including payment method 228, using the presented user interfacecontrols. Criteria selection module 218 can receive search criteria 227.Search criteria 227 defines that digital receipts associated withpayment method 287 (e.g., any of cash, check, credit card, debit card,gift card, etc.) satisfy the search of digital receipts stored inreceipt database 217. For example, customer 291 may want to view digitalreceipts associated with gift card payments.

Method 300 includes accessing one or more digital receipts from areceipt database (302). Each of the one of more digital receiptscorresponding to a transaction at a Point-Of-Sale (POS) system andindicating a payment method used during the transaction. For example,search module 207 can access digital receipts 242, 262, 263, and 266from receipt database 217. Each of digital receipts 242, 262, 263, and266 can correspond to a transaction at a Point-Of-Sale (POS) system,such as, for example, POS system 211. Each of digital receipts 242, 262,263, and 266 can also indicate a payment method (e.g., cash, check,credit card, debit card, gift card, etc.) used during the correspondingtransaction.

Method 300 includes identifying at least one digital receipt, from amongthe one or more accessed digital receipts, that indicates the specifiedpayment method was used during the corresponding transaction (303). Forexample, search module 207 can identify digital receipt 242 thatindicates payment method 287 was used during the correspondingtransaction. Search module 207 can also identify any other digitalreceipts that indicate payment method 287 was used during acorresponding transaction.

Method 300 includes returning the at least one digital receipt assatisfying the digital receipt search request (304). For example, searchmodule 207 can return search results 229, including digital receipt 242,as satisfying search criteria 227. Other digital receipts that satisfysearch criteria 227 (i.e., that indicate payment method 287) can also beincluded in search results 229. Method 300 includes presenting the atleast one digital receipt at the display (305). For example, digitalmobile device 201 can present search results 229, including digitalreceipt 242 and any other digital receipts satisfying search criteria227, at user interface 219.

Embodiments of the invention also include deleting digital receipts thatsatisfy search criteria. Thus, after identifying at least one digitalreceipt (303), search module 207 can alternately delete the at least onedigital receipt from receipt database 217. For example, search module207 can delete digital receipt 242 from receipt database 217. Whenappropriate, search module 207 can also send instructions to receiptdata server 221 to permanently delete digital receipt 242 from receiptdatabase 217. For example, customer 291 may desire to delete all digitalreceipts where a credit card was used as the method of payment.

FIG. 4 illustrates an example computer architecture 400 that facilitatessearching digital receipts at a mobile device. Referring to FIG. 4,computer architecture 400 includes mobile device 401, POS systems 411,and receipt database server 421. Each of the depicted components can beconnected to one another over (or be part of) a network 451, such as,for example, a PAN, a LAN, a WAN, and even the Internet. Accordingly,each of the depicted components as well as any other connected computersystems and their components, can create message related data andexchange message related data (e.g., near field communication (“NFC”)payloads, Bluetooth packets, Internet Protocol (“IP”) datagrams andother higher layer protocols that utilize IP datagrams, such as,Transmission Control Protocol (“TCP”), Hypertext Transfer Protocol(“HTTP”), Simple Mail Transfer Protocol (“SMTP”), etc.) over thenetwork.

POS system 411 includes transaction processor 412, communication module413, and I/O peripherals 416. POS system 411 can be physically locatedat a checkout lane in a store. Generally, transaction processor 412 isconfigured to manage sales transactions for POS 411. Transactionprocessor 412 can receive input from I/O peripherals 416 to open a salestransaction, collect receipt data (e.g., date, time, item, number ofunits, cost data, tax, department, purchase data, etc.) for a salestransaction, and close a sales transaction. Receipt data for an item(e.g. item description, item cost, department, etc.) can be retrievedfrom an item database in response to scanning a barcode on (or otherwiseidentifying) the item. Other receipt data for an item (e.g., number ofunits, tax, purchase date, etc.) can be determined by transactionprocessor 412. Purchase date can indicate a date and/or time atransaction was closed. I/O peripherals 416 can include one or more of:a monitor (e.g., a cashier-facing monitor), one or more input devices(e.g., scanners, keyboards, scales, or the like), one or more paymentdevices (e.g., cash drawers, card readers, etc.) for receiving orreturning payments, and one or more output devices (e.g.,customer-facing display or monitor, receipt printer, etc.).

POS system 411 can associate an application ID with digital receiptdata, including purchase date, for a transaction. The application ID canbe a unique value identifying a mobile device. An application ID can beindicated to POS system 411, either manually by a customer or in anautomated fashion by a mobile device, at the time of a transaction.

Communication module 413 can be a wired and/or wireless network adapterfor connecting POS system 411 with a network, such as, for example, aWi-Fi and/or wired Ethernet network, that facilitates a furtherconnection to network 451 (e.g., the Internet).

POS system 411 can be at a physical store location along with additionalPOS systems including similar components. The physical store locationmay be owned by an entity, such as, for example, a retailer corporationthat runs a chain of stores. The chain of stores can include one or moreof: grocery stores, department stores, warehouse stores, discountstores, etc. In some embodiments, POS system 411 includes components ina checkout isle as well as components in a store based data center.Other POS systems, also including similar components, can be at otherphysical store locations owned by the entity.

Receipt data server 421 includes Network (e.g., web) server 443,communication module 446, and database access module 473. Network server443 is configured to communicate with external devices, such as, forexample, mobile device 401. A common entity, such as, a retailercorporation, can own one or more physical store locations (e.g., a chainof stores) as well as receipt data server 421. Each of the one or morestore physical locations can include one or more POS systems as well asother computer systems (e.g., local backend servers). Communicationmodule 446 can be configured to communicate with POS systems as well asother computer systems at each of the one or more physical storelocations (e.g., on an internal corporate network) to facilitatebusiness operations for the entity.

Receipt data server 421 can receive application identifiers and digitalreceipt data, including purchase date, from POS systems at variousdifferent store locations, including POS system 411. Receipt data server421 can formulate digital receipts from received receipt data.Formulated digital receipts can include entries for items included incorresponding digital receipt data (but potentially in a differentformat, for example, a format deliverable to mobile devices). Formulateddigital receipts can also contain other data related to a transaction,such as, for example, the purchase date corresponding to thetransaction. Database access module 473 can store digital receipts alongwith application identifiers in receipt database 422.

For example, receipt data server 421 can receive application ID 431along with digital receipt data 441 from POS system 411. Receipt dataserver 421 can formulate digital receipt 442 from digital receipt data441. Digital receipt 442 includes purchase date 487 and receipt entriesfor items 444A, 444B, etc. Receipt items 444A, 444B, etc. correspond tophysical items purchased during a transaction at POS system 411. Digitalreceipt 442 can be stored along with application ID 431 to indicate thatdigital receipt 442 corresponds to mobile device 401.

In some embodiments, receipt data server 421 is part of a (e.g.,regional, national, or global) backend system that receives receipt datafrom a plurality of POS systems distributed throughout differentgeographic locations and formulates corresponding digital receipts. Theplurality of POS systems and the backend system can be part of acommonly owned and/or controlled corporate network infrastructure. Forexample, receipt data server 421 can formulate digital receipt 462 fromdigital receipt data received from another POS system. Digital receipt462 includes purchase date 488 and receipt entries for items 464A, 464B,etc. Receipt items 464A, 464B, etc. correspond to physical itemspurchased during a transaction at the other POS system. Digital receipt462 can be stored along with application ID 431 to indicate that digitalreceipt 462 also corresponds to mobile device 401.

Subsequent to storing digital receipts, receipt data server 421 can sendstored digital receipts to customer computing devices, such as, forexample, smartphones and/or tablets. Receipt data server 421 can senddigital receipts to a mobile device in response to a request and/or inaccordance with configured settings. For example, in response to arequest for receipts from mobile device 401, receipt data server 421 cansend digital receipts 442 and 462 to mobile device 401. Sending digitalreceipts from receipt data server 421 to a mobile device can involvepush or polled mechanisms. Receipt data server 421 can send digitalreceipts in a web or native view.

As depicted, mobile device 401 (e.g., a smartphone) communication module403, display 404, receipt management module 406, and receipt database417. In general, receipt management module 406 provides a user of mobiledevice 401 with various mechanisms for managing their digital receipts.Receipt management module 406 further includes search module 407. Searchmodule 407 is configured to search digital receipts as desired by a userof mobile device 401. Receipt management module 406 can also be used topair customer application ID 431 (e.g., derived from a loyalty number, atelephone number, a portion of a credit card number, etc.) with mobiledevice 401. As such, electronic receipts corresponding to application IDcan be delivered to mobile device 401.

Receipt management module 406 can present user-interface 419 at display404 (e.g., a general purpose display device). User-interface 406 caninclude (e.g., touch screen) user-interface controls allowing a user toselect search criteria. Selected search criteria can be used by searchmodule 407 to search digital receipts in receipt database 417. Forexample, customer 491 can enter input 492 to select search criteriarequesting that digital receipts having a purchase date within aspecified date range be presented at user interface 419. Search module407 can apply the selected search criteria to digital receipts inreceipt database 417 to identify receipts having a purchase date withinthe specified date range.

Thus, a user request for desired receipts can be accomplished byselecting search criteria through user interface 491. The searchcriteria are sent to search module 407. Search module 407 applies thesearch criteria to receipts in receipt database 417. Receipts matchingthe search criteria can be accessed from receipt database 417 andpresented at user interface 419.

As depicted, arrangement module 407 includes criteria selection module418. Criteria selection module 418 can present user interface controlsto facilitate search criteria selection by a user. Criteria selectionmodule 418 can present any of a wide variety of different user interfacecontrols in different combinations, including, but not limited to: checkboxes, radio buttons, lists, drop down lists, combo boxes, text boxes,date pickers, option buttons, sliders, etc. Criteria selection module418 can receive search criteria selected through the presented userinterface controls.

In some embodiments, network server 443 includes a search module. Thesearch module can include a criteria selection module (similar tocriteria selection module 418). The search module can be a standalonemodule or can interoperate with search module 407 (e.g., in a hybridmanner) to search for receipts. The search module can include a webbased user interface. A user, for example, customer 491 can interactwith search module through the web based user interface. The arrangementmodule can provide a mobile web view of search results back to mobiledevice 401.

For example, customer 491 can select search criteria through a Web basedinterface provided by the search module. The search criteria can be sentto the search module via network communication. The search module cansearch for digital receipts in receipt database 422. The located digitalreceipts can be returned to mobile device 401 via network communicationfor presentation in a mobile web view.

Search criteria may be stored between searches. For example, customer491 can select search criteria 427. Search criteria 427 can be persistedin receipt management module 406. Search criteria 427 can be used tosearch for digital receipts to display at user interface 219, forexample, when receipt management module 406 is started up or when othersearch criteria have not been selected.

Receipt management module 406 can have receipt update functionality.From time to time, a user of mobile device 401 can use the receiptupdate functionality to request digital receipts from database server421. For example, customer 491 can utilize the receipt updatefunctionality to cause request 439 to be sent from to receipt databaseserver 421. Request 439 can be sent to receipt database server 421 byway of communication module 403, network 451 or other knowncommunication links. Request 439 includes application ID 431 and canalso include other information such as a date range for the receipts,store identifier or other information. Application ID 431 can be used atreceipt database server 421 to identify digital receipts correspondingto mobile device 301.

In response to request 439, database access module 473 can useapplication ID 431 to identify digital receipts 442 and 462 withinreceipt database 422. Database access module 473 can retrieve digitalreceipts 442 and 462 from receipt database 422. Receipt database serverreceipt database server 421 can return digital receipts 442 and 462 tomobile device 401. Digital receipts 442 and 462 can be sent to mobiledevice 401 by way of communication module 403, network 451 or otherknown communication links. Digital receipts 442 and 462 can be stored inreceipt data 417.

Communication module 403 can be a wireless network adapter forconnecting mobile device 401 with a wireless network, such as, forexample, Wi-Fi and/or a cellular network (e.g., CDMA, GSM, iDen, etc.)that facilitates a further connection to network 451 (e.g., theInternet)

FIG. 5 illustrates a flow chart of an example method 500 for searchingdigital receipts at a mobile device. Method will be described withrespect to the components and data in computer architecture 400.

In general, method 500 can be used to search receipts at a mobiledevice. Receipts matching specified search criteria can be retrieved forpresentation at display 404, such as, the screen of a mobile phone ortablet. A user (customer) can view digital receipts presented at display404.

Mobile device 401 can send request 439, including application ID 431, toreceipt data server 421. Receipt data server 421 can match applicationID 431 to digital receipts 442 and 462. Receipt data server 421 canreturn digital receipts 442 and 462, including purchase dates 487 and488 respectively, to mobile device 401. Mobile device 401 can storedigital receipts 442 and 462 along with other digital receipts, such as,for example, digital receipts 463, 466, etc., in receipt database 417.Each of the digital receipts in receipt database 417 can indicate apurchase date for a corresponding transaction.

Method 500 includes receiving a digital receipt search request, thedigital receipt search request for digital receipts corresponding to themobile device, the digital receipt search request including searchcriteria, the search criteria defining that digital receipts associatedwith a specified purchase date range satisfy the digital receipt searchrequest (501). For example, customer 491 can submit input 492 to requestsearching of receipt database 417. Input 492 can be received at userinterface 419. Within user interface 419, criteria selection module 418can present user interface controls for selecting search criteria.Criteria selection module 418 can present user interface controls formultiple different selectable search criteria, including a purchase daterange, that can be selected by a user. A purchase date range can includea beginning date and an ending date. In some embodiments, a purchasedate range is entered by expressly defining each of the beginning dateand ending date for the purchase date range. In other embodiments, shortcuts can be used to specify a purchase date range as within the lastmonth, within the last week, since the beginning of the year, etc. Asdescribed, criteria selection module 418 can present any of a widevariety of different user interface controls in different combinations,including, but not limited to: check boxes, radio buttons, lists, dropdown lists, combo boxes, text boxes, date pickers, option buttons,sliders, etc.

As such, customer 491, through input 492, can select search criteria427, including payment method 428, using the presented user interfacecontrols. Criteria selection module 418 can receive search criteria 427.Search criteria 427 defines that digital receipts having a purchase datewithin purchase date range 428 satisfy the search of digital receiptsstored in receipt database 417. For example, customer 491 may want toview digital receipts for all transactions within the last month.

Method 500 includes accessing one or more digital receipts from areceipt database (502). Each of the one of more digital receiptscorresponding to a transaction at a Point-Of-Sale (POS) systemindicating a purchase date for the transaction. For example, searchmodule 407 can access digital receipts 442, 462, 463, and 466 fromreceipt database 417. Each of digital receipts 442, 462, 463, and 466can correspond to a transaction at a Point-Of-Sale (POS) system, suchas, for example, POS system 411. Each of digital receipts 442, 462, 463,and 466 can also indicate a purchase date (e.g., mm/dd/yyyy) for thecorresponding transaction.

Method 500 includes identifying at least one digital receipt, from amongthe one or more accessed digital receipts, that has an indicatedpurchase date within the specified purchase date range (503). Forexample, search module 407 can identify digital receipts 442 and 462 ashaving indicated purchase dates 487 and 488 within purchase date range428. Search module 407 can also identify any other digital receiptsindicating a purchase date within purchase date range 428.

Method 500 includes returning the at least one digital receipt assatisfying the digital receipt search request (504). For example, searchmodule 407 can return search results 429, including digital receipts 442and 462, as satisfying search criteria 427. Other digital receipts thatsatisfy search criteria 427 (i.e., with a purchase date within purchasedate range 428) can also be included in search results 429. Method 500includes presenting the at least one digital receipt at the display(505). For example, digital mobile device 401 can present search results429, including digital receipts 442, 462, and any other digital receiptssatisfying search criteria 427, at user interface 419.

Embodiments also include deleting digital receipts that satisfy searchcriteria. Thus, after identifying at least one digital receipt (503),search module 407 can alternately delete the at least one digitalreceipt from receipt database 417. For example, search module 407 candelete digital receipts 442 and 462 from receipt database 417. Whenappropriate, search module 407 can also send instructions to receiptdata server 421 to permanently delete digital receipt 442 from receiptdatabase 417. For example, user 491 may desire to delete any digitalreceipts that area older than a specified date.

FIG. 6 illustrates an example schematic block diagram of a point-of-sale(POS) system 600. In some embodiments, the hardware, software, orhardware and software of POS system 600 may be configured to implementone or more methods in accordance with the present invention. Forexample, POS system 600 may be manufactured, programmed, modified, orupgraded to support transferring digital receipt data to mobile devices.Either of POS systems 211 and 411 can be a POS system similar to POSsystem 600.

POS system 600 can include various components. In some embodiments, POSsystem 600 includes a central or primary computer 612, a monitor 614(e.g., a cashier-facing monitor 614), one or more input devices 616(e.g., scanners 616 a, keyboards 616 b, scales, or the like), one ormore payment devices 618 (e.g., cash drawers 618 a, card readers 618 b)for receiving or returning payments, one or more output devices 620(e.g., customer-facing display 620 a or monitor 620 a, receipt printer620 b), or the like or combinations or sub-combinations thereof, and NFCmodule 622, such as, for example, an NFC dongle.

Computer 612 may form the backbone of POS system 610. Other components616, 618, 620, 622 forming part of a POS system 610 can communicate withcomputer 612. Input devices 616 and certain payment devices 618 can feeddata and commands to computer 612 for processing or implementation. Forexample, scanner 616 a can pass data communicating the identity of oneor more items to be purchased, returned, or the like to a computer 612.Similarly, card reader 618 b can pass payment information to computer612.

On the other hand, output devices 620 and certain payment devices 618can follow or implement commands issued by computer 612. For example,cash drawer 618 a may open in accordance with the commands of computer612. Similarly, customer-facing display 620 a and receipt printer 620 bcan display or output data or information as instructed by computer 612.

In some embodiments, in addition to handling consumer transactions(e.g., purchases, returns), POS system 600 can provide or supportcertain “back office” functionality. For example, POS system 600 canprovide or support inventory control, purchasing, receiving andtransferring products, or the like. POS system 600 can also store salesand customer information for reporting purposes, marketing purposes,receivables management, trend analysis, cost analysis, price analysis,profit analysis, or the like. If desired or necessary, POS system 600can include an accounting interface to pass certain information to oneor more in-house or independent accounting applications.

In some embodiments, POS system 600 operates substantiallyindependently, as a stand-alone unit. Alternately, POS system 600 may beone of several POS systems 600 forming the front line of a largersystem. FIG. 7 illustrates an example schematic block diagram of anetwork 700 of point-of-sale (POS) systems 1000. For example, multiplePOS systems 1000 may operate at a particular location 722 (e.g., withina retail, brick-and-mortar store). In such embodiments, the various POSsystems 600 may be interconnected via LAN 724. LAN 724 may also connectthe POS systems 700 to a local server 726.

Local server 726 can support the operation of the associated POS systems600. For example, a server 726 may provide a central repository fromwhich certain data needed by the associated POS systems 600 may bestored, indexed, accessed, or the like. Server 726 can serve certainsoftware to one or more POS systems 600. In certain embodiments, a POSsystem 600 can offload certain tasks, computations, verifications, orthe like to server 726.

Alternatively, or in addition thereto, server 726 can support certainback office functionality. For example, server 726 can receive andcompile (e.g., within an associated database 728) data from the variousassociated POS systems 600 to provide or support inventory control,purchasing, receiving and transferring products, or the like. Server 726can also receive and compile sales and customer information forreporting purposes, marketing purposes, receivables management, trendanalysis, cost analysis, price analysis, profit analysis, or the like.

In some embodiments, one or more POS systems 600 and/or servers 726corresponding to a particular location 722 can communicate with oraccess one or more remote computers or resources via one or more networkdevices 730. For example, a network device 730 can enable a POS system600 to contact outside resources and verify the payment credentials(e.g., credit card information) provided by a customer. A network device730 can comprise a modem, router, or the like.

In selected embodiments, POS systems 600 operate within anenterprise-wide system 731 comprising multiple locations 722 (e.g.,branches 722 or stores 722). In such embodiments, each location 722 mayhave one or more POS systems 600, local servers 726, local databases728, network devices 730, or the like or combinations orsub-combinations thereof connected by a computer network (e.g., a LAN724). It may be that any of data receipt servers 221 and 421 areincluded in and/or include the functionality of a local server 726.

Additionally, each such location 722 may be configured to interact withone or more supervisory systems 732. For example, multiple branchlocations 722 may report to an associated “headquarters” location orsystem. It may be that any of data receipt servers 221 and 421 areincluded in and/or include the functionality of a supervisory system732.

A supervisory system 732 can include one or more supervisory servers734, databases 736, workstations 738, network devices 740, or the likeor combinations or sub-combinations thereof. The various components of asupervisory system 732 can be interconnected via a computer network(e.g., a LAN 742). In selected embodiments, a supervisory system 732includes one or more supervisory servers 734 providing a centralrepository from which certain data needed by the one or more POS systems700 or local servers 726 may be stored, indexed, accessed, or the like.

Alternatively, or in addition thereto, a supervisory server 734 canreceive and compile (e.g., within an associated database 736) data fromthe various associated POS systems 600 or local servers 726 to provideor support inventory control, purchasing, receiving and transferringproducts, or the like. A supervisory server 734 may also receive andcompile sales and customer information for reporting purposes, marketingpurposes, receivables management, trend analysis, cost analysis, priceanalysis, profit analysis, or the like.

A supervisory system 732 can be connected to one or more associatedlocations 722 or branches 722 in via any suitable computer network 744(e.g., WAN 744). For example, in selected embodiments, one or morelocations 722 can connect to a supervisor system 732 via the Internet.Communication over such a network 744 can follow any suitable protocolor security scheme. For example, communication may utilize the FileTransfer Protocol (FTP), a virtual private network (VPN), intranet, orthe like.

Although the components and modules illustrated herein are shown anddescribed in a particular arrangement, the arrangement of components andmodules may be altered to process data in a different manner. In otherembodiments, one or more additional components or modules may be addedto the described systems, and one or more components or modules may beremoved from the described systems. Alternate embodiments may combinetwo or more of the described components or modules into a singlecomponent or module.

The foregoing description has been presented for the purposes ofillustration and description. It is not intended to be exhaustive or tolimit the invention to the precise form disclosed. Many modificationsand variations are possible in light of the above teaching. Further, itshould be noted that any or all of the aforementioned alternateembodiments may be used in any combination desired to form additionalhybrid embodiments of the invention.

Further, although specific embodiments of the invention have beendescribed and illustrated, the invention is not to be limited to thespecific forms or arrangements of parts so described and illustrated.The scope of the invention is to be defined by the claims appendedhereto, any future claims submitted here and in different applications,and their equivalents.

1. A method of searching digital receipts, the method comprising:storing, on a mobile computing device carried by a customer, a receiptdatabase containing a plurality of digital receipts, each digitalreceipt thereof documenting a different transaction conducted by thecustomer; searching the receipt database while the receipt database isstored on the mobile computing device, the searching comprising:receiving, by the mobile computing device from the customer, a digitalreceipt search request, the digital receipt search request includingsearch criteria, the search criteria defining that digital receiptsassociated with a specified payment method satisfy the digital receiptsearch request; accessing, by the mobile computing device, one or moredigital receipts from the receipt database, each of the one of moredigital receipts: corresponding to a transaction at a Point-Of-Sale(POS) system; and indicating a payment method used during thetransaction; identifying, by the mobile computing device, at least onedigital receipt, from among the one or more accessed digital receipts,that indicates the specified payment method was used during thecorresponding transaction; and returning, by the mobile computingdevice, the at least one digital receipt as satisfying the digitalreceipt search request; and presenting, by the mobile computing device,the at least one digital receipt to the customer via a display of themobile computing device.